package router

import (
	"github.com/gin-gonic/gin"
	"ttsx/server/controllers/cart"
	"ttsx/server/controllers/goods"
	"ttsx/server/controllers/home"
	"ttsx/server/controllers/order"
	"ttsx/server/controllers/user"
	"ttsx/server/middlewares"
)

func InitRouters(app *gin.RouterGroup) {
	// 404
	app.GET("/404", home.ToFailed) // 显示 404页面

	// index
	homeRouter := app.Group("/")
	{
		homeRouter.GET("/index", home.ToIndex) // 显示主页
	}

	// user
	userRouter := app.Group("/user")
	{
		userRouter.GET("/active", user.Active)                                                              // 用户激活
		userRouter.GET("/register", user.ToRegister)                                                        // 显示用户注册页面
		userRouter.POST("/register", user.DoRegister)                                                       // 用户注册
		userRouter.GET("/login", user.ToLogin)                                                              // 显示用户登录页面
		userRouter.POST("/login", user.DoLogin)                                                             // 用户登录
		userRouter.GET("/logout", user.Logout)                                                              // 用户登出
		userRouter.GET("/user_center_info", middlewares.CookieMiddlerWare(), user.ToUserCenterInfo)         // 显示用户中心-个人信息
		userRouter.GET("/user_center_site", middlewares.CookieMiddlerWare(), user.ToUserCenterSite)         // 显示用户中心-收货地址
		userRouter.POST("/user_center_site", middlewares.CookieMiddlerWare(), user.DoUserCenterSite)        // 显示用户中心-收货地址
		userRouter.GET("/user_center_order/:page", middlewares.CookieMiddlerWare(), user.ToUserCenterOrder) // 显示用户中心-全部订单
	}

	//Goods
	goodsRouter := app.Group("/goods")
	{
		goodsRouter.GET("/search", goods.DoSearch)            // 搜索框
		goodsRouter.GET("/detail", goods.ToGoodsDetail)       // 显示商品详情页面
		goodsRouter.GET("/list/:id/:page", goods.ToGoodsList) // 显示商品列表页面
	}

	// cart
	cartRouter := app.Group("/cart", middlewares.CookieMiddlerWare())
	{
		cartRouter.GET("/select", cart.SelectCart)  // 购物车的查询
		cartRouter.POST("/add", cart.AddCart)       // 购物车的新增
		cartRouter.POST("/update", cart.UpdateCart) // 购物车的更新
		cartRouter.POST("/delete", cart.DeleteCart) // 购物车的删除
	}

	// order
	orderRouter := app.Group("/order", middlewares.CookieMiddlerWare())
	{
		orderRouter.GET("/select", order.ToOrder)       // 订单的显示
		orderRouter.POST("/create", order.CreateOrder)  // 订单的创建
		orderRouter.POST("/aliPay", order.OrderPay)     // 订单支付提交
		orderRouter.POST("/aliQuery", order.OrderQuery) // 订单支付查询
	}

}
